= cache([ActionController::Base.asset_host, user_application_theme, user_color_scheme], expires_in: 1.minute) do
  - css_crossorigin = ActionController::Base.asset_host ? 'anonymous' : nil

  - if ActionController::Base.asset_host
    %link{ rel: 'dns-prefetch', href: ActionController::Base.asset_host }
    %link{ rel: 'preconnect', href: ActionController::Base.asset_host, crossorigin: '' }
  - if user_application_theme == 'gl-dark'
    = preload_link_tag(path_to_stylesheet('application_utilities_dark'), crossorigin: css_crossorigin)
    = preload_link_tag(path_to_stylesheet('application_dark'), crossorigin: css_crossorigin)
  - else
    = preload_link_tag(path_to_stylesheet('application_utilities'), crossorigin: css_crossorigin)
    = preload_link_tag(path_to_stylesheet('application'), crossorigin: css_crossorigin)
  = preload_link_tag(path_to_stylesheet("highlight/themes/#{user_color_scheme}"), crossorigin: css_crossorigin)
  - if Gitlab::Tracking.enabled? && Gitlab::Tracking.collector_hostname
    - unless Rails.env.development?
      %link{ rel: 'preconnect', href: "https://#{Gitlab::Tracking.collector_hostname}", crossorigin: '' }
    -# Do not use preload_link_tag for fonts, to work around Firefox double-fetch bug.
    -# See https://github.com/web-platform-tests/wpt/pull/36930
    %link{ rel: 'preload', href: font_path('gitlab-sans/GitLabSans.woff2'), as: 'font', crossorigin: css_crossorigin }
    %link{ rel: 'preload', href: font_path('jetbrains-mono/JetBrainsMono.woff2'), as: 'font', crossorigin: css_crossorigin }
    %link{ rel: 'preload', href: font_path('jetbrains-mono/JetBrainsMono-Bold.woff2'), as: 'font', crossorigin: css_crossorigin }
    %link{ rel: 'preload', href: font_path('jetbrains-mono/JetBrainsMono-Italic.woff2'), as: 'font', crossorigin: css_crossorigin }
    %link{ rel: 'preload', href: font_path('jetbrains-mono/JetBrainsMono-BoldItalic.woff2'), as: 'font', crossorigin: css_crossorigin }
    = preload_link_tag(path_to_stylesheet('fonts'), crossorigin: css_crossorigin)
